package com.finalcial.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

/**
 * 对应个人数据图表界面
 * @author Administrator
 *
 */
public interface EchatsDao {

	
	/**
	 * 个人专项的总额度
	 * @param userId 用户id
	 * @param costTypeName 费用类型名称
	 * @return 个人的不同的费用类型的额度
	 */
	public Integer totalSalary(@Param("userId")Integer userId,@Param("costTypeName")String costTypeName);
	/**
	 * 个人专项已经申请成功的金额
	 * @param userId 用户id
	 * @param reimbursementTypeName 报销类型名称
	 * @return 已经申请完成的总金额
	 */
	public Integer applySalary(@Param("userId")Integer userId,@Param("reimbursementTypeName")String reimbursementTypeName);
	
	/**
	 * 个人专项正在申请的金额
	 * @param userId 用户id
	 * @param reimbursementTypeName 报销类型名称
 	 * @return 正在申请的金额
	 */
	public Integer applyIngSalary(@Param("userId")Integer userId,@Param("reimbursementTypeName")String reimbursementTypeName);
	
	
	/**
	 * 得到员工个人申请报销的类型 （个人报销总览）
	 * @param userId 用户id session 
	 * @return 所有的报销的类型
	 */
	public List<Map<String, Object>> getReimbursementTypeName(@Param("userId")Integer userId);
	
	/**
	 * 得到时间的分组 （个人报销总览）
	 * @param userId 用户id session
	 * @return 所有的时间分组
	 */
	public List<Date> getReimbursementTime(@Param("userId")Integer userId);
	/**
	 * 根据报销类型名称和报销时间得到所对应的数据 （个人报销总览）
	 * @param userId 用户id
	 * @param reimbursementTypeName 报销名称
	 * @param reimbursementTime 报销时间
	 * @return 金额
	 */
	public  Integer getReimbursementMoney(@Param("userId")Integer userId,@Param("reimbursementTypeName")String reimbursementTypeName,@Param("reimbursementTime")String reimbursementTime);
	
	/**
	 * 开始的地点
	 * @param userId
	 * @return
	 */
	public List<String> getStartSection(@Param("userId")Integer userId);
	
	/**
	 * 目的地
	 * @param userId 用户id
	 * @return 差旅的地点
	 */
	public List<String> getEndSection(@Param("userId")Integer userId,@Param("businessTravelStartSection") String businessTravelStartSection);
	
	
}
